iT邦幫忙

2021 iThome 鐵人賽

DAY 24
0
AI & Data

跟著文組生學數據分析系列 第 24

數據分析的好夥伴 - Python基礎:物件導向(下)

  • 分享至 

  • xImage
  •  

前面我們有說過,在Python的世界中,萬物皆物件。但物件只是這個世界的最小單位而已,接下來讓我們認識其他的應用吧!

物件導向的基礎認識

  • 類別(Class)

在進到物件之前,讓我們來先談談類別。

你也許聽過,所謂的類別就是物件的藍圖。也就是想像今天我們要煮某一到菜(物件),及其所需要的食譜(類別);又或者想像假如我想要做一塊餅乾(物件),幫我製作餅乾的模型(類別)。

從中我們可以發現,類別就是規劃物件的一個設計稿、模型,它可以幫我們定義物件的屬性和方法、協助我們重複利用物件。

  • 物件(Object)

這個我們已經非常熟悉了。從開始寫Python的第一個=,就是在宣告一個物件。

  • 屬性(Attribute)

屬性(Attribute)其實可以再劃分為實體屬性(Instance Attribute)與類別屬性(Class Attribute)。

實體屬性其實就是針對物件的描述,並透過點.的語法來建立。

每個物件的屬性各自獨立,因此當你修改某物件屬性時,並不會影響到另一個物件。

我們同樣可以針對類別來建立其屬性,建立語法相同.

但需要特別注意的是,類別底下的物件將共享這個屬性,因此當你修改類別屬性時,底下的物件將會一起被調整。

  • 建構式(Constructor)

我們可以透過建構式來建立物件,並定義它的屬性。

而這時候我們會用到這個所謂的Python 特殊方法 (special method names):__init__

__init__必須要引入第一個參數self,用以表示建立的實體,__則是宣告引入的屬性為私有。

def __init__(self, length, width): #建構式
    self.length = length #實體屬性
    self.width = width
  • 方法(Method)

最後是方法,方法可以很好的理解為該物件的行為,也就是我們要程式執行的事項。

和建構式一樣前面有一個def來定義,也同樣需有參數self

方法(Method)和函數(Function)最大的差別在於與類別和物件的聯繫。

函數可以單獨存在且獨立被呼叫,而方法則是必須依賴類別和物件來呼叫。


參考資料:

https://www.learncodewithmike.com/2020/01/python-class.html

https://iter01.com/550398.html


上一篇
數據分析的好夥伴 - Python基礎:物件導向(上)
下一篇
數據分析的好夥伴 - Python基礎:檔案讀寫
系列文
跟著文組生學數據分析30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言